 05 - C++ Classes 04 - Introduction to C++ Functions06 - C++ Objects In this section of the tutorial, you will learn the following:Declaring and Defining ClassesImplementing the concept of Data AbstractionImplementing the concept of Data EncapsulationCreating Objects5.1 C++ ClassesA class in C++, is a user-defined type. It contains data and functionality. The class definition does not occupy any space in the memory. Let us declare a class date in C++ as follows:
Class date 
{        
    int dd;
    int mm;
    int yy;
    void valid(int d, int m)
    {
        if ( d<31)
            cout<<”Invalid date”;
        if (m>12)
            cout<<”Invalid month”;
    }    
};

The class date has three variables (data) and a member function valid. This function is known as the member function of the date class.5.1.1    C++ Data AbstractionThe object of creating a class in C++ is to bundle data and its functionality. Classes in C++ implement the concept of data abstraction.5.1.2    C++ EncapsulationIn C++, you can implement the concept of encapsulation by using access specifiers. An access specifier controls the visibility of the members of a class. There are three types of access specifiers; private, public and protected.Private: If the members of class are declared as private, then they are accessible only within that class. By default, in C++, members of a class are private. A common practice is to declare the variables in a class as private and the functions as public.Public: Public members are accessible from within the class and outside the class.Protected: For more information, see Protected Access Specifier.5.1.3    Encapsulation Example
Class date 
{
        private:
            int dd;     
            int mm;
            int yy;
        public:
            void valid(int d, int m)
            {
                if ( d<31)
                    cout<<”Invalid date”;
                if (m>12)
                    cout<<”Invalid month”;    
            }    
};
    04 - Introduction to C++ Functions06 - C++ Objects 


Wideskills




